package com.gbiac.modules.monitor.service;

import com.gbiac.modules.monitor.entity.SeatUser;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gbiac.modules.monitor.param.ForceCheckOutAllParam;
import com.gbiac.modules.monitor.param.ForceCheckOutParam;

import java.util.Date;

/**
 * @Description: 席位当前用户
 * @Author: jeecg-boot
 * @Date:   2024-11-30
 * @Version: V1.0
 */
public interface ISeatUserService extends IService<SeatUser> {

    /**
     * 设置席位用户
     * @param seatId
     * @param userId
     */
    void setSeatUser(String seatId, String userId, Date checkInTime);

    /**
     * 清空席位用户
     * @param seatId
     */
    void clearSeatUser(String seatId);

    /**
     * 强制离线席位
     * @param param
     */
    void forceCheckOut(ForceCheckOutParam param);

    /**
     * 强制离线所有席位
     * @param param
     */
    void forceCheckOutAll(ForceCheckOutAllParam param);

    /**
     * 查询席位是否设置暂时离岗
     * @param seatId
     * @return
     */
    boolean isCheckOutTemp(String seatId);
}
